home *** CD-ROM | disk | FTP | other *** search
/ BMUG Revelations / BMUG Revelations.toast / Programming / Programming Languages / Yerk 3.64 / Module source / sysenv < prev    next >
Text File  |  1992-12-06  |  3KB  |  120 lines

  1. \ 9.26.90    rfl    added other imports to check machine attributes
  2. \ 10.25.90    rfl    added mfTopMem
  3. \ 11.6.90    rfl    added classic, IIsi, and LC
  4. \ 1.11.91    rfl added mactype
  5. \ 8.13.92    rfl    uget: sysvref
  6. \ 12.7.92    rfl    added pb 180 and fixed error in system printout
  7.  
  8. :module env
  9.  
  10. create getSys popD0 popA0 " SysEnvirons" asmCall pushA0 pushD0 next, 
  11.  
  12. :CLASS system <super Object
  13.  
  14.     int        version
  15.     int        type
  16.     int        sysVers
  17.     int        processor
  18.     int        fpu&color
  19.     int        keyboard
  20.     int        atdrvr
  21.     int        sysVref
  22.     20    bytes    extra
  23.     int        request
  24.  
  25.   :M putRequest: put: request ;M
  26.   :M get: (abs) get: request getSys swap -base swap extend ;M
  27.   :M classinit: 2 put: request ;M
  28.   :M getType: get: type ;M
  29.   :M getVers: get: sysVers ;M
  30.   :M getCPU: get: processor ;M
  31.   :M getFPU: get: fpu&color $ 100 / ;M
  32.   :M getColor: get: fpu&color $ ff and ;M
  33.   :M getVref: get: sysVref ;M
  34.   :M getAppleTalk: get: atdrvr IF 1 ELSE 0 THEN ;M
  35.   :M macType: get: type ;M
  36.   :M type: get: type
  37.     ." type = "
  38.     CASE
  39.         0 OF ." unknown"    ENDOF
  40.         1 OF ." 512KE"        ENDOF
  41.         2 OF ." Mac+"        ENDOF
  42.         3 OF ." SE"            ENDOF
  43.         4 OF ." MacII"        ENDOF
  44.         5 OF ." MacIIx"        ENDOF
  45.         6 OF ." MacIIcx"    ENDOF
  46.         7 OF ." SE030"        ENDOF
  47.         8 OF ." Portable"    ENDOF
  48.         9 OF ." MacIIci"    ENDOF
  49.         11 OF ." MacIIfx"    ENDOF
  50.         15 OF ." Classic"    ENDOF
  51.         16 OF ." IIsi"        ENDOF
  52.         17 OF ." LC"        ENDOF
  53.         18 OF ." Quadra 900" ENDOF
  54.         19 OF ." Powerbook 170" ENDOF
  55.         20 OF ." Quadra 700" ENDOF
  56.         21 OF ." Classic II" ENDOF
  57.         22 OF ." Powerbook 100" ENDOF
  58.         23 OF ." Powerbook 140" ENDOF
  59.         31 OF ." Powerbook 180" ENDOF
  60.     ENDCASE
  61.     cr ;M
  62.   :M system: ." system = " base hex
  63.     get: sysVers dup $ ff00 and $ 100 / $ 100 * swap $ ff and +
  64.     0 <# # # ascii . hold #s #> type cr -> base ;M
  65.   :M cpu: ." CPU = "
  66.     get: processor 
  67.     CASE
  68.         0 OF ." unknown"    ENDOF
  69.         1 OF ." 68000"        ENDOF
  70.         2 OF ." 68010"        ENDOF
  71.         3 OF ." 68020"        ENDOF
  72.         4 OF ." 68030"        ENDOF
  73.         5 OF ." 68040"        ENDOF
  74.     ENDCASE cr ;M
  75.   :M fpu: getFPU: self 0= IF ." NOT " THEN ." With CoProcessor" cr ;M
  76.   :M color: getColor: self 0= IF ." NOT " THEN ." With Color" cr ;M
  77.   :M keyboard: ." keyboard = " get: keyboard
  78.     CASE
  79.         0 OF ." Mac+ with keypad"    ENDOF
  80.         1 OF ." Mac"                ENDOF
  81.         2 OF ." Mac with keypad"    ENDOF
  82.         3 OF ." Mac+"                ENDOF
  83.         4 OF ." Apple Extended"        ENDOF
  84.         5 OF ." ADBK standard"        ENDOF
  85.         6 OF ." Portable"            ENDOF
  86.         7 OF ." Portable (ISO)"        ENDOF
  87.         8 OF ." Standard (ISO)"        ENDOF
  88.         9 OF ." Extended (ISO)"        ENDOF
  89.        10 OF ." Apple II"            ENDOF
  90.        11 OF ." Apple II (ISO)"        ENDOF
  91.         12 OF ." Powerbook"            ENDOF
  92.         13 OF ." Powerbook (ISO)"    ENDOF
  93.     ENDCASE cr ;M
  94.   :M AppleTalk: ." AppleTalk = "
  95.     get: atdrvr -dup IF . ELSE ." not loaded" THEN cr ;M
  96.   :M sysVref: ." System Folder WD = " uget: sysVref . cr ;M
  97.   :M print: get: self swap drop  
  98.     CASE
  99.         -5500 OF ." System earlier than 4.1"        ENDOF
  100.         -5501 OF ." Bad version number"              ENDOF
  101.         -5502 OF ." Requested Version unavailable"    ENDOF
  102.             0 OF type: self system: self cpu: self
  103.                  fpu: self color: self keyboard: self
  104.                  appletalk: self sysVref: self         ENDOF
  105.     ENDCASE ;M
  106.  
  107. ;CLASS
  108.  
  109. system sysEnv
  110.  
  111. : .sys print: sysenv wneAvail IF 0 call mfTopMem ." RAM = " . ." bytes" THEN cr ;
  112. : hasColor get: sysenv 2drop getColor: sysenv ;
  113. : hasFPU   get: sysenv 2drop getFPU: sysenv ;
  114. : appleTalkOn get: sysenv 2drop getAppleTalk: sysenv ;
  115. : mac? get: sysenv 2drop macType: sysenv ;
  116.  
  117. : getenv get: sysEnv 2drop sysEnv ;
  118.  
  119. ;Module
  120.